1. Field of the Invention
This invention relates generally to an apparatus for data communication, and more particularly to local area networks (LAN) of computers that can communicate with each other regardless of the LAN architecture.
2. Description of the Prior Art
In many applications, both scientific and business, the growing use of digital computers processing data has proliferated the volume of data to such an extent that often a plurality of computers are required, each devoted to a different task with a need for communication between the computers in order to carry out their respective tasks. Historically computers have been used to process transactions of one form or another. Most computers through the early 1970s processed transactions in batches. Throughout the earlier days of computing, people calmly talked about batch processing as the processing of groups of punched cards. Each card was a transaction; the computer read the batch of cards and processed information in batches. During the 1960s people started to discuss interactive computing. With interactive computing, programs can be structured so that transactions are processed individually, rather than in batches. Interactive processing generally originates at typewriter-like data entry devices, called terminals. Batch terminals which read cards, tapes or disks and then send the data in batches to a computer, are often referred to as remote job entry terminals or remote batch terminals. Both batch or interactive processing can be done in networks that are centralized or distributed. A centralized network depends entirely on a central computing facility of one or more computers; while a distributed network divides tasks between one computing facility and another. Each intelligent entity in the network is called a node. Some nodes are computers, others are terminals, and still others may be communication devices of one form or another. Networks can be organized in a number of ways and it is possible for a single communications system to provide communications for two or more concurrently operating computer networks. There are many different types of network configurations. Some of the more common ones are as follows:
1. Point-to-point network
A point-to-point network is the simplest type of network and consists of a computer, communication line and a terminal or another computer at the other end of the line.
2. Multi-point network
The multi-point network is an extension of the point-to-point system and uses multiple point-to-point links to connect the stations to each other.
3. Star network
A star network is a centralized network wherein remote stations feed via separate point-to-point links into a single site at which the primary computing is accomplished.
4. Ring network
A ring network connects network nodes in a closed loop, with each node linked to those adjacent right and left.
5. Bus structure network
The bus network is logically configured with tabs, such as arms, branches and so forth, extending off of a central backbone. As a signal traverses the bus, every connection listens for the signal which carries an address destination. Typical bus systems are Ethernet and practically all broadband systems.
6. Hierarchical network
In a hierarchical network computers feed into the computers that in turn feed into other computers. The computers that are utilized as remote devices may have independent processing capabilities and may draw on resources at higher or lower levels as information or other resources are required.
These basic types of networks can be either global or wide area (WAN) covering great distances or they can be local area networks (LAN) covering relatively short distances, such as the computers in one or two buildings.
Although transmitted digital data can easily leap over entire continents in milliseconds, it sometimes takes them longer than that to travel the last mile or so within the building. Accordingly a number of solutions are being offered to this bottleneck in the local distribution of data in the form of local area networks (LANs) covering distances of 0.1 to 10 kilometers and can transmit data at rates from 100 kilobits per second to 10 megabits per second or higher. Every terminal node on the local area network (LAN) can communicate with every other node and the network requires no central node or processor. Prior to the introduction of these networks, office workers operating equipment from different vendors had to try to tie a system together in which there did not exist a common interface among the various terminals. Most prominent of the recently introduced LANs is Xerox's Ethernet, a base band system. (Base band systems impress the data signals directly on the medium, whereas broadband systems modulate a very high or ultra high radio frequency carrier with the data signal before impressing it on the communication medium.) Ethernet transmits data at 10 Mb/s up to a distance of 2.5 kilometers; it cannot handle voice or video applications.
WangNet from Wang Laboratories, on the other hand, is an example of a broadband topology that can accommodate all three applications--voice, data, and video at speeds equivalent to those of Ethernet. WangNet has a band width that spans the 10 to 350 Megahertz range. It also uses branching-tree topology where more nodes can be connected on the cable of longer distances.
Corvus Systems Inc. of San Jose, Calif., has introduced OMNINET, which is a bus topology based on twisted-pair wires and is focused on connecting networks for personal computers. OMNINET transmits data at 1 mb/s and can accommodate up to 63 Apple II's. The computers can share from 1 to 6 floppy disk memories, which expands the memory from 5 to 10 Megabytes.
There are other LAN alternatives, such as HYPER channel from Network Systems Corp.; NET/ONE; ARC; and others.
Since these base band and broadband systems are based on different proprietary configurations, standards for interfacing the equipment were needed. To avoid proliferation of interfaces, the IEEE's Standards Committee set up a subcommittee to adopt specifications for the interface unit between the terminals and the cable, as well as the logic protocols for accessing data on the cable and the data-encoding schemes. Another organization, the International Standards Organization (ISO), also chartered a committee to study the compatability of network equipment which eventually led to the publication of the Open System Interconnection Reference Model (OSI). In the context of compatability, open system refers to a network model open to use in equipment from competing manufacturers. The OSI model divides networking issues into the functions of layers There are 7 layers in the OSI model, numbered from layer 1 through 7.
Layer 1 is the physical layer and defines the electrical and mechanical characteristics of the network, such as the media used the modulation techniques, frequencies at which the network operates and the voltages employed.
Layer 2 is the data link layer and defines the access strategy for sharing the physical medium that connects the various nodes. Common LAN techniques include carrier sense multiple access collision detection (CSMA/CD) and token-passing schemes. Additionally, techniques for placing network-specific information and data packets, such as node address, are functions of Layer 2.
Layer 3. Not all LANs require Layer 3. However networks that require routing mechanisms among nodes located on interconnected LANs must have Layer 3. On a single LAN broadcast data is seen by every node and accordingly a particular connection collects those packets properly addressed to it without a need for routing.
Layer 4 is the transport layer which deals with fundamental level of reliability and data transfer. This layer is concerned with flow control, error handling and problems involved with transmission and reception of packets. (A packet is composed of user-originated data plus any information the network needs to transport user data from one network node to another.)
Layer 5 is the session layer and is of particular importance to LANs. When a link is made between two devices, a session is established. Accordingly the session layer provides for the establishment and termination of streams of data from two or more LAN connections or nodes.
Layer 6 is a presentation layer and is the layer where services such as protocol conversion, data unpacking, translation, encryption, character set changes, or conversions, and the expansion of graphic commands take place.
Finally Layer 7 is the application layer. All layers from 1 to 6 are designed to support this layer. Electronic message systems, terminal emulation capabilities, and file transfer programs are examples of software that may be operating at Layer 7.
With such a proliferation of equipment, networks and standards, it becomes necessary to have a local area controller system such that regardless of the physical layer local area network (LAN) connections the software related to the transport layer, network layer and logical link control layer would be unchanged, transparent, and isolated from both sides; i.e., the controller's bus side which pertain to the Level 6 computer system*, and from the controller's communication adapter side which pertain to various types of LANs, such as Ethernet, token ring or token bus. FNT * A commercially available computer system from Honeywell Information Systems Inc.
More specifically it was necessary to design a Local Area Network Controller (LANS) which could provide interface software to support the transport layer, network layer and logical link control layer software so that it will not be necessary to change this software when some new type of LAN connections were made to it. Moreover the design should be such that it would make the hardware interface of the controller with the Level 6 processor's hardware transparent to the layer software. It was necessary, therefore, to isolate the communications layer software from both sides of the hardware, thus permitting various types of adapters to handle CSMA and Ethernet, or token ring or token bus LAN architectures; and moreover that at some future date could be utilized to support a PBX adapter. (Portions of the above information were obtained from the following sources:
(1) "Business Communications", by Nicholas Mokhoff, published in IEEE Spectrum, January 1982;
(2) "Local Area Networks in Large Organizations", by Thomas Wm. Madron, published by Hayden Book Co., 1984; and
(3) "An Introduction to Local Area Networks", by David D. Clark, Kenneth T. Pogran, and David P. Reed, published by Proceedings of the IEEE, Vol. 66, No. 11, November 1978.)
Some typical prior art devices related to Local Area Networks (LANs) are cited below. However, no representation is made that an exhaustive search of the prior art has been made or that this is the closest prior art.
(1) Multicomputer Communication System by Anil K. Agrawal et al, issued Jan. 8, 1985, and having U.S. Pat. No. 4,493,021.
(2) System for Selecting Interfaces on a Priority Basis by Pierre Austray et al, issued Nov. 27, 1984 and having U.S. Pat. No. 4,485,436.
(3) Port Logic for a Communication Bus System by Kapali P. Eswaran et al, issued Sept. 29, 1981 and having U.S. Pat. No. 4,292,623.
(4) Expandable and Contractible Local Area Network System by David M. Bryant et al, issued Feb. 7, 1984 and having U.S. Pat. No. 4,430,651.
The problem was further complicated in that a bus could have multiple CPUs attached to it. The problem arises when two CPUs issue simultaneous input/output load (IOLD) orders. Such order typically has a function code (FC=09/OD). When such orders are issued simultaneously the second portion OD has no source identified and the CPU will not be serviced.
More specifically when two CPUs issued IOLD orders simultaneously they could be interleaved because the controller would not know how to pair the 09 and OD function code data sent from each of the two CPUs. Accordingly what was needed was a mechanism that could recognize and correct this condition so multiple CPUs could be serviced